home *** CD-ROM | disk | FTP | other *** search
/ Mac OS on the PowerPC Mic…rocessor - In Store Demo / Mac OS on the PowerPC Microprocessor.iso / MacOS / MacOS.dxr / 00039_player script.ls < prev    next >
Encoding:
Text File  |  1996-05-13  |  12.6 KB  |  452 lines

  1. global gcurrlessonnumber, gcurrchapternumber, gchapternumber, gFieldTop, gchaptertextheight, glessonnumber, gplaystatus, gPauseMode, gMoovOutTime, gSoundLevel, gmasterfolderpath, gPictTransition, grectlist, galllessonlist, gallchapterlist, gPICTQTList, gQuick, gKiosk, gDelimiter, gColor, onIBM, theDoubleClick, gstartupflag, gBookmark, objBookmark, objChapterBtn, theQTMovie, objVolumeBtn, theBlitPict
  2.  
  3. on sliderStillDown
  4.   showchaptername(the currentNo of objChapterBtn)
  5. end
  6.  
  7. on sliderMouseUp
  8.   if gQuick then
  9.     set gplaystatus to #play
  10.     donewchapter(gcurrlessonnumber, the currentNo of objChapterBtn, #play)
  11.   else
  12.     set gplaystatus to #pause
  13.     donewchapter(gcurrlessonnumber, the currentNo of objChapterBtn, #pause)
  14.   end if
  15. end
  16.  
  17. on setchapbtnloc chapternumber
  18.   slideLocSet(objChapterBtn, chapternumber)
  19. end
  20.  
  21. on volMouseStillDown
  22.   set gSoundLevel to the currentNo of objVolumeBtn - 1
  23.   QTSetAudioLevel(theQTMovie, 36 * gSoundLevel)
  24. end
  25.  
  26. on volMouseUp
  27.   setVolumeButtonLoc()
  28.   set gSoundLevel to the currentNo of objVolumeBtn - 1
  29.   setSoundLevel()
  30.   if gPauseMode then
  31.     puppetSound("Sosumi.snd")
  32.     updateStage()
  33.     repeat while soundBusy(1)
  34.     end repeat
  35.     puppetSound(0)
  36.   end if
  37. end
  38.  
  39. on setSoundLevel
  40.   QTSetAudioLevel(theQTMovie, 36 * gSoundLevel)
  41.   set the soundLevel to gSoundLevel
  42. end
  43.  
  44. on setVolumeButtonLoc
  45.   slideLocSet(objVolumeBtn, gSoundLevel + 1)
  46. end
  47.  
  48. on pushBtn
  49.   set btnCN to the castNum of sprite clickOn()
  50.   repeat while stillDown()
  51.     if rollOver(clickOn()) then
  52.       set the castNum of sprite clickOn() to btnCN + 1
  53.     else
  54.       set the castNum of sprite clickOn() to btnCN
  55.     end if
  56.     updateStage()
  57.   end repeat
  58.   set the castNum of sprite clickOn() to btnCN
  59.   updateStage()
  60. end
  61.  
  62. on settoplayingbtn
  63.   set gPauseMode to 0
  64.   set the castNum of sprite 10 to 4
  65.   updateStage()
  66. end
  67.  
  68. on settopausingbtn
  69.   set gPauseMode to 1
  70.   set the castNum of sprite 10 to 2
  71.   updateStage()
  72. end
  73.  
  74. on donewchapter newlessonnumber, newchapternumber, playstatus
  75.   if playstatus = #fastPlay then
  76.     if pictname(newchapternumber) = pictname(gcurrchapternumber) then
  77.       setchapbtnloc(newchapternumber)
  78.       showchaptername(newchapternumber)
  79.       settimecallback(newchapternumber)
  80.       set gcurrchapternumber to newchapternumber
  81.       set gplaystatus to #play
  82.       exit
  83.     end if
  84.   end if
  85.   watchon()
  86.   pausethemoov()
  87.   if (newlessonnumber <> gcurrlessonnumber) or gstartupflag then
  88.     disposethemoov()
  89.     set gcurrlessonnumber to newlessonnumber
  90.     set gchapternumber to getchapternumber(newlessonnumber)
  91.     set the locV of sprite 7 to (newlessonnumber * gchaptertextheight) + gFieldTop
  92.     set the foreColor of cast 32 to getAt(gColor, 1)
  93.     set the foreColor of line newlessonnumber of cast 32 to getAt(gColor, 2)
  94.     updateStage()
  95.     if gchapternumber = 0 then
  96.       set the visible of sprite 10 to 0
  97.       set the visible of sprite 13 to 0
  98.       set the visible of sprite 11 to 0
  99.       set the visible of sprite 12 to 0
  100.       set the visible of sprite 24 to 1
  101.       set the visible of sprite 24 to 0
  102.       updateStage()
  103.       showchaptername(0)
  104.       showpreview(gcurrlessonnumber)
  105.       watchoff()
  106.       exit
  107.     end if
  108.     slideListSet(objChapterBtn, gchapternumber)
  109.     if gchapternumber = 1 then
  110.       set the visible of sprite 13 to 0
  111.       updateStage()
  112.     else
  113.       set the visible of sprite 13 to 1
  114.       updateStage()
  115.     end if
  116.     if not gstartupflag then
  117.       set gstartupflag to 1
  118.     end if
  119.   end if
  120.   if gBookmark then
  121.     mSetBookmarkButton(objBookmark, gcurrlessonnumber, newchapternumber)
  122.   end if
  123.   set the visible of sprite 10 to 1
  124.   updateStage()
  125.   if newchapternumber = gchapternumber then
  126.     set the visible of sprite 12 to 0
  127.     updateStage()
  128.     if qtkind(newchapternumber) = 0 then
  129.       set the visible of sprite 10 to 0
  130.       updateStage()
  131.     end if
  132.   else
  133.     set the visible of sprite 12 to 1
  134.     updateStage()
  135.   end if
  136.   if newchapternumber = 1 then
  137.     set the visible of sprite 11 to 0
  138.     updateStage()
  139.   else
  140.     set the visible of sprite 11 to 1
  141.     updateStage()
  142.   end if
  143.   if gchapternumber > 1 then
  144.     setchapbtnloc(newchapternumber)
  145.   end if
  146.   showchaptername(newchapternumber)
  147.   if TEXTName(newchapternumber) = EMPTY then
  148.     if onIBM then
  149.       set the visible of sprite 22 to 0
  150.     else
  151.       set the visible of sprite 22 to 0
  152.       updateStage()
  153.     end if
  154.     if gstartupflag then
  155.       set the visible of sprite 24 to 1
  156.       set the visible of sprite 24 to 0
  157.       updateStage()
  158.       disposethemoov()
  159.       if pictkind(newchapternumber) <> 0 then
  160.         openpictfile(newchapternumber)
  161.       end if
  162.       if smallscreen(newchapternumber) then
  163.         showpreview(gcurrlessonnumber)
  164.       end if
  165.     else
  166.       set thePPC to pictPrevClear(gcurrchapternumber, newchapternumber)
  167.       if getAt(thePPC, 2) = 1 then
  168.         showpreview(gcurrlessonnumber)
  169.       else
  170.         if getAt(thePPC, 2) = 2 then
  171.           if onIBM then
  172.             disposethemoov()
  173.           end if
  174.           set the visible of sprite 24 to 1
  175.           set the visible of sprite 24 to 0
  176.           updateStage()
  177.         else
  178.           if getAt(thePPC, 2) = 3 then
  179.             if onIBM then
  180.               disposethemoov()
  181.             end if
  182.             set the visible of sprite 24 to 1
  183.             set the visible of sprite 24 to 0
  184.             updateStage()
  185.             showpreview(gcurrlessonnumber)
  186.           end if
  187.         end if
  188.       end if
  189.       if getAt(thePPC, 1) = 1 then
  190.         openpictfile(newchapternumber)
  191.       else
  192.         if (getAt(thePPC, 1) = 2) and (pictname(newchapternumber) <> pictname(gcurrchapternumber)) then
  193.           openpictfile(newchapternumber)
  194.         end if
  195.       end if
  196.     end if
  197.   else
  198.     if gstartupflag then
  199.       set the visible of sprite 24 to 1
  200.       set the visible of sprite 24 to 0
  201.       updateStage()
  202.       disposethemoov()
  203.       if pictkind(newchapternumber) <> 0 then
  204.         openpictfile(newchapternumber)
  205.       end if
  206.       if smallscreen(newchapternumber) then
  207.         showpreview(gcurrlessonnumber)
  208.       end if
  209.     else
  210.       set thePPC to pictPrevClear(gcurrchapternumber, newchapternumber)
  211.       if getAt(thePPC, 2) = 1 then
  212.         showpreview(gcurrlessonnumber)
  213.       else
  214.         if getAt(thePPC, 2) = 2 then
  215.           if onIBM then
  216.             disposethemoov()
  217.           end if
  218.           set the visible of sprite 24 to 1
  219.           set the visible of sprite 24 to 0
  220.           updateStage()
  221.         else
  222.           if getAt(thePPC, 2) = 3 then
  223.             if onIBM then
  224.               disposethemoov()
  225.             end if
  226.             set the visible of sprite 24 to 1
  227.             set the visible of sprite 24 to 0
  228.             updateStage()
  229.             showpreview(gcurrlessonnumber)
  230.           end if
  231.         end if
  232.       end if
  233.       if getAt(thePPC, 1) = 1 then
  234.         openpictfile(newchapternumber)
  235.       else
  236.         if (getAt(thePPC, 1) = 2) and (pictname(newchapternumber) <> pictname(gcurrchapternumber)) then
  237.           openpictfile(newchapternumber)
  238.         end if
  239.       end if
  240.     end if
  241.     set tTempLoc to the loc of sprite 22
  242.     set the loc of sprite 22 to point(-5000, -5000)
  243.     set the loc of sprite 22 to tTempLoc
  244.     set the visible of sprite 22 to 1
  245.     openTEXTfile(newchapternumber)
  246.     updateStage()
  247.   end if
  248.   if qtkind(newchapternumber) <> 0 then
  249.     if the movieid of theQTMovie = EMPTY then
  250.       openqtmovie(newchapternumber)
  251.       setintime(newchapternumber)
  252.       settimecallback(newchapternumber)
  253.     else
  254.       if qtname(newchapternumber) <> qtname(gcurrchapternumber) then
  255.         disposethemoov()
  256.         openqtmovie(newchapternumber)
  257.         setintime(newchapternumber)
  258.         settimecallback(newchapternumber)
  259.       else
  260.         if playstatus = #contPlay then
  261.           settimecallback(newchapternumber)
  262.         else
  263.           if intime(newchapternumber) >= outtime(gcurrchapternumber) then
  264.             settimecallback(newchapternumber)
  265.             setintime(newchapternumber)
  266.           else
  267.             setintime(newchapternumber)
  268.             settimecallback(newchapternumber)
  269.           end if
  270.         end if
  271.       end if
  272.     end if
  273.     if (playstatus = #play) or (playstatus = #contPlay) then
  274.       playthemoov()
  275.       set the visible of sprite 11 to 1
  276.       updateStage()
  277.       set gplaystatus to #play
  278.     else
  279.       if playstatus = #pause then
  280.         pausethemoov()
  281.         refreshthemoov()
  282.         set gplaystatus to #pause
  283.       end if
  284.     end if
  285.   else
  286.     mSetVisited(objBookmark, gcurrlessonnumber, newchapternumber)
  287.     disposethemoov()
  288.     settopausingbtn()
  289.   end if
  290.   if gstartupflag then
  291.     set gstartupflag to 0
  292.   end if
  293.   set gcurrchapternumber to newchapternumber
  294.   watchoff()
  295. end
  296.  
  297. on showchaptername chapternumber
  298.   set the text of cast 33 to chaptername(chapternumber)
  299.   updateStage()
  300. end
  301.  
  302. on openTEXTfile chapternumber
  303.   global gmasterfolderpath, gDelimiter
  304.   fileIOread(gmasterfolderpath & currlessonname() & gDelimiter & TEXTName(chapternumber))
  305.   set the text of cast 86 to the result
  306. end
  307.  
  308. on openqtmovie chapternumber
  309.   set filepath to gmasterfolderpath & currlessonname() & gDelimiter & qtname(chapternumber)
  310.   QTOpenMovie(theQTMovie, filepath, gettherect(qtkind(chapternumber)))
  311.   if result() contains "Error" then
  312.     set the movieid of theQTMovie to EMPTY
  313.     exit
  314.   end if
  315.   setSoundLevel()
  316. end
  317.  
  318. on refreshthemoov
  319.   qtrefresh(theQTMovie)
  320. end
  321.  
  322. on disposethemoov
  323.   QTDispose(theQTMovie)
  324. end
  325.  
  326. on playthemoov
  327.   settoplayingbtn()
  328.   QTPlay(theQTMovie)
  329.   set gPauseMode to 0
  330. end
  331.  
  332. on pausethemoov
  333.   settopausingbtn()
  334.   QTPause(theQTMovie)
  335.   set gPauseMode to 1
  336. end
  337.  
  338. on setintime chapternumber
  339.   QTSetCurrTime(theQTMovie, intime(chapternumber))
  340. end
  341.  
  342. on settimecallback chapternumber
  343.   set gMoovOutTime to outtime(chapternumber)
  344. end
  345.  
  346. on callbackplay
  347.   mSetVisited(objBookmark, gcurrlessonnumber, gcurrchapternumber)
  348.   set cb to qtcallback(gcurrchapternumber)
  349.   if cb = 4 then
  350.     donewchapter(gcurrlessonnumber, gcurrchapternumber + 1, #fastPlay)
  351.   else
  352.     if cb = 1 then
  353.       donewchapter(gcurrlessonnumber, gcurrchapternumber + 1, #contPlay)
  354.     else
  355.       if cb = 2 then
  356.         pausethemoov()
  357.         disposethemoov()
  358.         donewchapter(gcurrlessonnumber, gcurrchapternumber + 1, #play)
  359.       else
  360.         if cb = 3 then
  361.           if gcurrlessonnumber = glessonnumber then
  362.             pausethemoov()
  363.             disposethemoov()
  364.             if gKiosk then
  365.               go("Opening")
  366.             else
  367.               donewchapter(1, 1, #play)
  368.             end if
  369.           else
  370.             pausethemoov()
  371.             disposethemoov()
  372.             donewchapter(gcurrlessonnumber + 1, 1, #play)
  373.           end if
  374.         end if
  375.       end if
  376.     end if
  377.   end if
  378. end
  379.  
  380. on openpictfile chapternumber
  381.   set pictfilepath to gmasterfolderpath & currlessonname() & gDelimiter & pictname(chapternumber)
  382.   set destrect to gettherect(pictkind(chapternumber))
  383.   blitPictDrawFile(theBlitPict, pictfilepath, destrect, "copy", gPictTransition, 0)
  384. end
  385.  
  386. on gettherect kind
  387.   return getAt(grectlist, kind)
  388. end
  389.  
  390. on getchapternumber lessonnumber
  391.   return getAt(getAt(galllessonlist, lessonnumber), 2)
  392. end
  393.  
  394. on intime chapternumber
  395.   return getAt(getAt(getAt(gallchapterlist, gcurrlessonnumber), chapternumber), 4)
  396. end
  397.  
  398. on outtime chapternumber
  399.   return getAt(getAt(getAt(gallchapterlist, gcurrlessonnumber), chapternumber), 5)
  400. end
  401.  
  402. on qtcallback chapternumber
  403.   return getAt(getAt(getAt(gallchapterlist, gcurrlessonnumber), chapternumber), 10)
  404. end
  405.  
  406. on pictname chapternumber
  407.   if onIBM then
  408.     return getAt(getAt(getAt(gallchapterlist, gcurrlessonnumber), chapternumber), 7)
  409.   else
  410.     return getAt(getAt(getAt(gallchapterlist, gcurrlessonnumber), chapternumber), 6)
  411.   end if
  412. end
  413.  
  414. on pictkind chapternumber
  415.   return getAt(getAt(getAt(gallchapterlist, gcurrlessonnumber), chapternumber), 8)
  416. end
  417.  
  418. on qtname chapternumber
  419.   return getAt(getAt(getAt(gallchapterlist, gcurrlessonnumber), chapternumber), 2)
  420. end
  421.  
  422. on qtkind chapternumber
  423.   return getAt(getAt(getAt(gallchapterlist, gcurrlessonnumber), chapternumber), 3)
  424. end
  425.  
  426. on currlessonname
  427.   return getAt(getAt(galllessonlist, gcurrlessonnumber), 1)
  428. end
  429.  
  430. on chaptername chapternumber
  431.   if chapternumber = 0 then
  432.     return EMPTY
  433.   else
  434.     return getAt(getAt(getAt(gallchapterlist, gcurrlessonnumber), chapternumber), 1)
  435.   end if
  436. end
  437.  
  438. on pictPrevClear prevparagraph, nextparagraph
  439.   set prevCh to getAt(getAt(getAt(gallchapterlist, gcurrlessonnumber), prevparagraph), 9)
  440.   set nextCh to getAt(getAt(getAt(gallchapterlist, gcurrlessonnumber), nextparagraph), 9)
  441.   return [getAt(getAt(getAt(gPICTQTList, 1), prevCh), nextCh), getAt(getAt(getAt(gPICTQTList, 2), prevCh), nextCh)]
  442. end
  443.  
  444. on smallscreen paragraph
  445.   return getAt(getAt(gPICTQTList, 3), getAt(getAt(getAt(gallchapterlist, gcurrlessonnumber), paragraph), 9))
  446. end
  447.  
  448. on TEXTName chapternumber
  449.   global gallchapterlist, gcurrlessonnumber
  450.   return getAt(getAt(getAt(gallchapterlist, gcurrlessonnumber), chapternumber), 11)
  451. end
  452.